Efficient data compression has become an important requirement in the computing world. This is largely due to the fact that many files transmitted over the Internet are compressed before being sent and decompressed after being received. This may be advantageous because it takes less time to transmit a smaller file and because the smaller file consumes less bandwidth over the network.